<?php
// +----------------------------------------------------------------------
// | 后台需要使用到的函数库
// +----------------------------------------------------------------------
// | Author: Eric <ieyangxiaoguo@126.com>
// +----------------------------------------------------------------------
// | Copyright ©2017 http://www.zzuyxg.top All rights reserved.
// +----------------------------------------------------------------------
// | 2018年3月23日
// +----------------------------------------------------------------------
/**
 * 获取当前登录的管理员ID
 * 
 * @return int
 */
function get_current_admin_id()
{
    return session('ADMIN_ID');
}

/**
 * scan_dir的方法
 * @param string $pattern 检索模式 搜索模式 *.txt,*.doc; (同glog方法)
 * @param int $flags
 * @param $pattern
 * @return array
 */
function scan_dir($pattern, $flags = null)
{
    $files = array_map('basename', glob($pattern, $flags));
    return $files;
}

/**
 * 清空系统缓存
 */
function clear_cache()
{
    $path = env('RUNTIME_PATH');
    //如果是目录则继续
    if (!is_dir($path)) {
        echo 'runtime目录不存在';
        exit;
    }
    //扫描一个文件夹内的所有文件夹和文件并返回数组
    $p = scandir($path);
    $arr = ['cache', 'log', 'temp'];
    foreach ($p as $val) {
        if (!in_array($val, $arr)) {
            continue;
        }
        if (!is_dir($path . $val)) {
            continue;
        }
        $dir = $path . $val . '/';
        //先删除目录下的文件：
        $dh = opendir($dir);
        while ($file = readdir($dh)) {
            if ($file != "." && $file != "..") {
                $fullpath = $dir . "/" . $file;
                if (!is_dir($fullpath)) {
                    @unlink($fullpath);
                } else {
                    deldir($fullpath);
                }
            }
        }
        closedir($dh);
        @rmdir($path . $val . '/');
    }
    echo '删除runtime成功';

}


function deldir($dir) {
    //先删除目录下的文件：
    $dh = opendir($dir);
    while ($file = readdir($dh)) {
        if ($file != "." && $file != "..") {
            $fullpath = $dir . "/" . $file;
            if (!is_dir($fullpath)) {
                @unlink($fullpath);
            } else {
                deldir($fullpath);
            }
        }
    }
    closedir($dh);
    //删除当前文件夹：
    if (rmdir($dir)) {
        return true;
    } else {
        return false;
    }
}

function addLog($option,$sql){
    $aid = get_current_admin_id();
    $admin = \app\tdadmin\model\AdminModel::get($aid);
    $name = $admin['nick_name'];
    $ip = get_client_ip();
    $time = date('Y-m-d H:i:s',time());
    $data = [
        'aid' => $aid,
        'name' => $name,
        'ip' => $ip,
        'time' => $time,
        'option' => $option,
        'sql' => base64_encode($sql)
    ];
    \think\Db::name('option_log')->insert($data);
}

?>